<?php
namespace app\index\controller;
use think\Db;
use think\Controller;
use think\facade\Request;
class Index extends Controller
{
    public function index()
    {
		$res = Db::name('img')->select();
		$this->assign('res',$res);
		return view();
	}
	
	// 图片上传
	public function upload()
	{
		try{
			// 非正常上传
			if(!is_uploaded_file($_FILES['img']['tmp_name'])){
				throw new Exception('非正常上传!');
			}
			// 文件上传有误
			if($_FILES['img']['error']!=0){
				throw new Exception('文件上传有误!');
			}
			// 文件最大值 2M
			$maxsize = 2 * 1024 * 1024;
			if($_FILES['img']['size'] > $maxsize){
				throw new Exception('文件最大2M!');
			}
			// 获取文件后缀
			$srcfile = $_FILES['img']['name'];
			$exp = explode('.',$srcfile);
			$ext = array_pop($exp);
			// 文件类型
			$types = ['png','jpg','gif'];
			if(!in_array($ext,$types)){
				throw new Exception('文件类型错误!');
			}
			// 源文件和目标文件
			$srcfile = $_FILES['img']['tmp_name'];
			$dstname = time().mt_rand().'.'.$ext;
			$dstfile = './uploads/'.$dstname;
			$data['name'] = $dstname;
			// 文件移动
			if(move_uploaded_file($srcfile,$dstfile)){
				// 数据入库
				$result = Db::name('img')->insert($data);
				// 跳转首页
				if($result){
					return $this->success('图片上传成功');
				}else{
					return $this->error('图片上传失败');
				}
			}
			// 数据入库
		}catch(Exception $e){
			// 错误提示
			echo $e->getMessage();
		}
	}
}
